/***************************************************************************
 * File name: IEPubPaging.h
 * Original author: caizhifei2003@163.com
 * Date: 2013.03.01
 ***************************************************************************/
#ifndef _I_EPUB_PAGING_H_
#define _I_EPUB_PAGING_H_

#include "EPubBase.h"
#include "EPubTypes.h"
#include "EPubPointer.h"
#include "IEPubPage.h"
#include "IEPubMedia.h"

class IEPubPaging : public EPubBase
{
public:
	virtual EPUB_UInt32 GetPageCount() const = 0;

	virtual EPubPointer<IEPubPage> GetFirstPage() const = 0;
	virtual EPubPointer<IEPubPage> GetLastPage() const = 0;

	virtual EPubPointer<IEPubPage> AddPage(EPubPointer<IEPubMedia> mediaFile) = 0;
	virtual EPubPointer<IEPubPage> InsertPage(EPubPointer<IEPubMedia> mediaFile, EPUB_UInt32 index = 0) = 0;

	virtual EPUB_Result RemovePage(EPUB_UInt32 index) = 0;
	virtual void RemoveAllPage() = 0;
};

#endif // _I_EPUB_PAGING_H_